[アップデート] Amazon ECR の自動再スキャン期間の間隔をより細かく設定できるようになりました
こんにちは! AWS 事業本部コンサルティング部のたかくに(@takakuni_)です。
What's new に載っていないのですが、 Amazon Inspector の拡張イメージスキャンで再スキャン期間の間隔をより細かく設定できるようになりました。
Amazon Inspector will now refresh the ECR re-scan duration of container images when you pull them. To change your re-scan duration based on push or pull dates see Configuring the ECR re-scan duration
自動再スキャン期間とは
Amazon Inspector の拡張イメージスキャンでは、コンテナイメージを継続的にスキャンします。コンテナイメージに影響を与える新しい CVE が Amazon Inspector データベースに追加されたタイミングで再スキャンが行われます。
再スキャンはタダではありません。2024年1月時点ですと、 東京リージョンで 0.01USD
かかってきます。そのため、使っていないコンテナイメージには、スキャンを当てない or ECR 側でライフサイクルルールでイメージを削除するような工夫が必要です。自動再スキャン期間機能は、前者の設定で再スキャンを何日まで?継続し続けるか
を指定します。
今までどうだったか
今まで、再スキャン期間はイメージがプッシュされてからの経過日数で継続期間を決めていました。設定可能な日数は以下の通りです。
- 30 日
- 180 日
- Lifetime [1](デフォルト)
デフォルトと記載している通り、 当時の Inspector v2 で再スキャン期間を指定しない場合、コンテナイメージが残り続ける限り継続的にスキャンされる仕様となっていました。
これから
今回のアップデートで、イメージプッシュに加えてイメージプルも再スキャン期間の評価軸に加わりました。また、経過日数もより細かく指定できるようになりました。
イメージプッシュ
- 14 日
- 30 日
- 60 日
- 90 日(デフォルト)
- 180 日
- Lifetime
イメージプル
- 14 日
- 30 日
- 60 日
- 90 日(デフォルト)
- Lifetime
イメージプッシュのデフォルト値にも変更が加わっています。 2024年1月23日以降に Inspector を有効にしたアカウントは、 Lifetime ではなく、 90 日がデフォルト値になります。(イメージプルはどのアカウントも 90 日がデフォルトです)
Configuring the ECR re-scan duration
期間の計算
今回のアップデートで、イメージプルが評価軸に加わりました。期間の気になりますよね。
自動再スキャン期間は以下のどちらか(or)条件で期間が決まります
- イメージのプッシュ日が自動再スキャン期間のイメージのプッシュ日に設定された日数以内である場合
- イメージがプル日が自動再スキャン期間のイメージのプル日に設定された日数以内である場合
ドキュメントを意訳すると以下のように表現されていました。
プッシュ日に60日、プル日に180日を選択した場合、 Amazon Inspector は、過去 60 日以内にプッシュされたイメージ、または過去 180 日以内に少なくとも 1 回プルされたイメージの監視を継続します。過去 60 日間にイメージがプッシュされておらず、過去 180 日間にイメージがプルされていない場合、 Amazon Inspector はイメージの監視を停止します。
For example, if you select 60 days for push date, and 180 days for pull date configurations, Amazon Inspector will continue to monitor images if they were pushed in the last 60 days or if they have been pulled at least once in the last 180 days. If an image hasn’t been pushed in the last 60 days and hasn't been pulled in the last 180 days, Amazon Inspector will stop monitoring it.
Configuring the ECR re-scan duration
マネジメントコンソールを確認してみる
マネジメントコンソールを確認してみて、今回のアップデートを確認してみましょう。 Inspector コンソールから全般設定、 ECR scanning settings をクリックします。
すると、 ECR re-scan duration の設定画面に移り、イメージプッシュとイメージプルの期間設定ができるようになっています。
今回検証したアカウントでは 2024年1月23日以前に Inspector を有効にしたアカウントのため、イメージプッシュはライフタイム、イメージプルは 90 日に設定されています。
まとめ
以上、「Amazon ECR の自動再スキャン期間の間隔をより細かく設定できるようになりました」でした。
今回、判定期間およびイメージプルを含めた判定方法の刷新がありましたが、個人的にはイメージプッシュをライフタイムして ECR のライフサイクルルールでイメージを管理していくのがシンプルでオススメなのかなといった印象です。(とくに保管要件がないのであれば、ムダなコンテナイメージは ECR のストレージ料金含めて勿体ないと思いますので...)
このブログがどなたかの参考になれば幸いです。 AWS 事業本部コンサルティング部のたかくに(@takakuni_)でした!
コンテナイメージが削除されるまで継続スキャン ↩︎